from comms.seafile_funcs import seafile_login, seafile_ge_user_info, seafile_add_new_database, seafile_get_all_zlk, \
    seafile_update_zlk, seafile_assign_zlk_add_file, seafile_assign_zlk_del_file, seafile_del_zlk
from comms.tools import get_str_by_re

################1.1登录鉴权接口 ,设置全职变量token，打印响应信息###############
print("---"*10+'1.1登录鉴权接口'+"----"*20)
resp=seafile_login('seafile@admin.com','admin') ## 正确密码调用
token=resp.json()['token']
#1.断言响应头
assert 'application/json' == resp.headers.get('Content-Type')
#2.断言响应体
assert 'token' in resp.text
#3.断言Json
assert '8ac00e05a7652b31598a56d764bd5b5f7c45a6ef' == resp.json().get('token')
#4.断言状态码
assert 200 == resp.status_code
#5.断言响应时间
# assert 200/1000 >= resp.elapsed.total_seconds()
##############1.2 获取账号信息，从上面的token获取账号登录，打印响应信息####################
print("---"*10+'1.2 获取账号信息'+"----"*20)
resp=seafile_ge_user_info(token)
#断言状态码
assert 200 == resp.status_code
#断言响应体中包含email
assert 'email' in resp.text
#断言响应体用户值知否正确
assert 'seafile@admin.com' == resp.json().get('email')
##################1.3新增资料库接口,新增资料库，名字为128###############################
print("---"*10+'1.3新增资料库接口'+"----"*20)
resp=seafile_add_new_database(token,'128')
#获取新增资料库的repo_id，设置全局变量
repo_id=resp.json().get('repo_id')
print(repo_id)#打印新增资料库的repo_id
##########1.4查询所有的资料库接口#############
print("---"*10+'1.4查询所有的资料库接口'+"----"*20)
resp=seafile_get_all_zlk(token)
# print(resp.json()[0].get('id'),type(resp.json()[0]))
id=resp.json()[0].get('id')
print(resp.json(),type(resp.json()))
print(id,type(id))
############1.5 修改资料库名字####################
print("---"*10+'1.5 修改资料库名字'+"----"*20)
# resp=seafile_update_zlk(token,repo_id,'128_new')
resp=seafile_update_zlk(token,repo_id,'128_new')
# ############# 1.7在指定的资料库目录新建文件接口 ##################
print("---"*10+'1.7在指定的资料库目录新建文件接口'+"----"*20)
resp=seafile_assign_zlk_add_file(token,id,'aaa.txt')
# ## 设置文件名  全局变量
repo_name=resp.json()[0].get('name')
print(repo_name,type(repo_name))
########## 1.8在指定的资料库目录删除文件接口 ##############
print("---"*10+'1.8在指定的资料库目录删除文件接口'+"----"*20)
seafile_assign_zlk_del_file(token,id,repo_name)
############# 1.6删除指定的资料库接口 ##############
print("---"*10+'1.6删除指定的资料库接口'+"----"*20)
resp=seafile_del_zlk(token,id)

